package com.demo.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.demo.dao.StudentDao;
import com.demo.model.Student;
import com.demo.service.StudentService;

@Service
public class StudentServiceImpl implements StudentService {

	@Autowired
	private StudentDao studentDao;

	@Override
	public int save(Student student) {
		return studentDao.insert(student);
	}
	
	@Override
	public boolean login(String username, String password) {
		Student student = studentDao.selectByUsernameAndPassward(username, password);
		if (student != null) {
			return true;
		} else {
			return false;
		}
	}

	@Override
	public List<Student> getStudents(String username) {
		return studentDao.select(username);
	}

	@Override
	public Student getStudentById(int id) {
		return studentDao.selectOne(id);
	}

	@Override
	public Integer updateStudent(Student student) {
		if (student.getId() != null && student.getId() > 0) {
			return studentDao.update(student);
		}
		return studentDao.insert(student);

	}

	@Override
	public Integer deleteStudent(int id) {
		return studentDao.delete(id);
	}

	// private StudentDao studentDao = new StudentDao();
	//
	// @Override
	// public long save(Student student) {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// long id = studentDao.insert(conn, student);
	// conn.commit();
	// return id;
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// return 0;
	// }
	//
	// @Override
	// public Student getStudentById(long id) {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// return studentDao.selectOne(conn, id);
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// return null;
	// }
	//
	// @Override
	// public List<Student> getStudent() {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// return studentDao.selectAll(conn);
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// return null;
	// }
	//
	// @Override
	// public void delete(long id) {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// studentDao.deleteStudentById(conn, id);
	// conn.commit();
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// }
	//
	// @Override
	// public void updateById(Student student) {
	// Connection conn = null;
	// try {
	// conn = JdbcUtil.getConnection();
	// studentDao.updateStudent(conn, student);
	// conn.commit();
	// } catch (SQLException e) {
	// e.printStackTrace();
	// JdbcUtil.rollback(conn);
	// } finally {
	// JdbcUtil.close(conn);
	// }
	// }

}
